NDIS_CO_CLIENT_OPTIONAL_HANDLERS structure (ndis.h)

The NDIS_CO_CLIENT_OPTIONAL_HANDLERS structure specifies entry points for CoNDIS client ProtocolXxx functions for the protocol driver that passes this structure to the NdisSetOptionalHandlers function.

Syntax

typedef struct _NDIS_CO_CLIENT_OPTIONAL_HANDLERS {
  NDIS_OBJECT_HEADER                  Header;
  ULONG                               Reserved;
  CO_CREATE_VC_HANDLER                ClCreateVcHandler;
  CO_DELETE_VC_HANDLER                ClDeleteVcHandler;
  CO_OID_REQUEST_HANDLER              ClOidRequestHandler;
  CO_OID_REQUEST_COMPLETE_HANDLER     ClOidRequestCompleteHandler;
  CL_OPEN_AF_COMPLETE_HANDLER_EX      ClOpenAfCompleteHandlerEx;
  CL_CLOSE_AF_COMPLETE_HANDLER        ClCloseAfCompleteHandler;
  CL_REG_SAP_COMPLETE_HANDLER         ClRegisterSapCompleteHandler;
  CL_DEREG_SAP_COMPLETE_HANDLER       ClDeregisterSapCompleteHandler;
  CL_MAKE_CALL_COMPLETE_HANDLER       ClMakeCallCompleteHandler;
  CL_MODIFY_CALL_QOS_COMPLETE_HANDLER ClModifyCallQoSCompleteHandler;
  CL_CLOSE_CALL_COMPLETE_HANDLER      ClCloseCallCompleteHandler;
  CL_ADD_PARTY_COMPLETE_HANDLER       ClAddPartyCompleteHandler;
  CL_DROP_PARTY_COMPLETE_HANDLER      ClDropPartyCompleteHandler;
  CL_INCOMING_CALL_HANDLER            ClIncomingCallHandler;
  CL_INCOMING_CALL_QOS_CHANGE_HANDLER ClIncomingCallQoSChangeHandler;
  CL_INCOMING_CLOSE_CALL_HANDLER      ClIncomingCloseCallHandler;
  CL_INCOMING_DROP_PARTY_HANDLER      ClIncomingDropPartyHandler;
  CL_CALL_CONNECTED_HANDLER           ClCallConnectedHandler;
  CL_NOTIFY_CLOSE_AF_HANDLER          ClNotifyCloseAfHandler;
} NDIS_CO_CLIENT_OPTIONAL_HANDLERS, *PNDIS_CO_CLIENT_OPTIONAL_HANDLERS;

Members

Header

The NDIS_OBJECT_HEADER structure for the protocol driver CoNDIS characteristics structure (NDIS_CO_CLIENT_OPTIONAL_HANDLERS). The driver sets the
Type member of the structure that Header specifies to NDIS_OBJECT_TYPE_CO_CLIENT_OPTIONAL_HANDLERS, the Revision member to NDIS_CO_CLIENT_OPTIONAL_HANDLERS_REVISION_1, and the Size member to NDIS_SIZEOF_CO_CLIENT_OPTIONAL_HANDLERS_REVISION_1.

Reserved

Reserved for NDIS.

ClCreateVcHandler

The entry point of the caller's ProtocolCoCreateVc function.

ClDeleteVcHandler

The entry point of the caller's ProtocolCoDeleteVc function.

ClOidRequestHandler

The entry point of the caller's ProtocolCoOidRequest function.

ClOidRequestCompleteHandler

The entry point of the caller's ProtocolCoOidRequestComplete function.

ClOpenAfCompleteHandlerEx

The entry point of the caller's ProtocolClOpenAfCompleteEx function.

ClCloseAfCompleteHandler

The entry point of the caller's ProtocolClCloseAfComplete function.

ClRegisterSapCompleteHandler

The entry point of the caller's ProtocolClRegisterSapComplete function. A client uses this function to accept incoming calls from remote machines.

ClDeregisterSapCompleteHandler

The entry point of the caller's ProtocolClDeregisterSapComplete function.

ClMakeCallCompleteHandler

The entry point of the caller's ProtocolClMakeCallComplete function. A client uses this function to make outgoing calls to remote machines.

ClModifyCallQoSCompleteHandler

The entry point of the caller's ProtocolClModifyCallQoSComplete function. A client uses this function to dynamically make changes in the quality of service (QoS) on an established virtual connection (VC) or to negotiate with the call manager to establish the QoS when the client sets up an incoming call.

ClCloseCallCompleteHandler

The entry point of the caller's ProtocolClCloseCallComplete function.

ClAddPartyCompleteHandler

The entry point of the caller's ProtocolClAddPartyComplete function. A client uses this function to establish point-to-multipoint VCs for outgoing calls to remote machines.

ClDropPartyCompleteHandler

The entry point of the caller's ProtocolClDropPartyComplete function.

ClIncomingCallHandler

The entry point of the caller's ProtocolClIncomingCall function. A client uses this function to accept incoming calls from remote machines.

ClIncomingCallQoSChangeHandler

The entry point of the caller's ProtocolClIncomingCallQoSChange function. A client uses this function to accept incoming calls from remote machines on which the sending client can dynamically change the QoS.

ClIncomingCloseCallHandler

The entry point of the caller's ProtocolClIncomingCloseCall function.

ClIncomingDropPartyHandler

The entry point of the caller's ProtocolClIncomingDropParty function.

ClCallConnectedHandler

The entry point of the caller's ProtocolClCallConnected function. A client uses this function to accept incoming calls from remote machines.

ClNotifyCloseAfHandler

The entry point of the caller's ProtocolClNotifyCloseAf function.

Remarks

To specify entry points as a CoNDIS client, a protocol driver initializes an NDIS_CO_CLIENT_OPTIONAL_HANDLERS structure and passes it to the NdisSetOptionalHandlers function.

The client calls NdisSetOptionalHandlers from the ProtocolSetOptions function. The client must set every ClXxx member in the NDIS_CO_CLIENT_OPTIONAL_HANDLERS structure to a caller-supplied ProtocolXxx function, even if the call manager does not support incoming calls, outgoing calls, or point-to-multipoint connections. For whatever subset of connection-oriented functionality that a client does not support, its placeholder ProtocolXxx functions should return NDIS_STATUS_NOT_SUPPORTED.

Requirements

Requirement Value
Minimum supported client Supported in NDIS 6.0 and later.
Header ndis.h (include Ndis.h)

See also

NDIS_OBJECT_HEADER

NdisSetOptionalHandlers

ProtocolClAddPartyComplete

ProtocolClCallConnected

ProtocolClCloseAfComplete

ProtocolClCloseCallComplete

ProtocolClDeregisterSapComplete

ProtocolClDropPartyComplete

ProtocolClIncomingCall

ProtocolClIncomingCallQoSChange

ProtocolClIncomingCloseCall

ProtocolClIncomingDropParty

ProtocolClMakeCallComplete

ProtocolClModifyCallQoSComplete

ProtocolClOpenAfCompleteEx

ProtocolClRegisterSapComplete

ProtocolCoAfRegisterNotify

ProtocolCoCreateVc

ProtocolCoDeleteVc

ProtocolCoOidRequest

ProtocolCoOidRequestComplete

ProtocolSetOptions